import upload from '@/utils/upload'
import request from '@/utils/request'

// 用户密码重置
export function updateUserPwd(oldPassword, newPassword) {
  const data = {
    oldPassword,
    newPassword
  }
  return request({
    url: '/system/user/profile/updatePwd',
    method: 'put',
    data: data
  })
}

// 查询用户个人信息
export function getUserProfile() {
  return request({
    url: '/system/user/profile',
    method: 'get'
  })
}

// 修改用户个人信息
export function updateUserProfile(data) {
  return request({
    url: '/system/user/profile',
    method: 'put',
    data: data
  })
}

// 用户头像上传
export function uploadAvatar(data) {
  return upload({
    url: '/system/user/profile/avatar',
    name: data.name,
    filePath: data.filePath
  })
}
export function bindWechat(code) {
  return request({
    url: '/api/user/wechat/bind', // 后端提供的绑定接口
    method: 'POST',
    headers: {
      isToken: true // 必须携带 Token，确保绑定到当前登录用户
    },
    data: {
      code: code // 仅绑定需要传 code，用于后端换取用户的微信 openid
    }
  })
}

export function unbindWechat() {
  return request({
    url: '/api/user/wechat/unbind', // 后端提供的解绑接口（路径语义明确）
    method: 'POST',
    headers: {
      isToken: true // 必须携带 Token，防止越权操作
    }
    // 无需传 data，后端通过 Token 拿到用户 ID 即可解绑
  })
}

export function getWechatBindStatus() {
  return request({
    url: '/api/user/wechat/status', // 后端提供的查询绑定状态接口
    method: 'GET',
    headers: {
      isToken: true // 必须携带Token，用于查询当前登录用户的绑定状态
    }
    // 无需传参，后端通过Token识别当前用户并返回其微信绑定状态
  })
}



